package com.gable.exhibition.dao;

import com.gable.exhibition.view.RepairStatusView;

import java.util.List;
import java.util.Map;

/**
 * Created by Lesson on 2018/2/27.
 */
public interface LargeScreenDao {

    /**
     * 获取设备总数和设备总金额
     * @Create user jacky
     * @Create date 2018/2/27
     * @return
     */
    Map<String,Object> queryDeviceCountAndPrice();

    /**
     * 查询设备保内，保外有多少台
     * @Create user jacky
     * @Create date 2018/2/27
     */
    List<Map<String,Integer>> InsideOutsideDeviceCount();

    /**
     * 查询维修总数和设备总数
     * @Create user jacky
     * @Create date 2018/2/27
     * @return
     */
    Map<String,Integer> queryRepairAndDeviceCount();

    /**
     * 获取总的保养次数，当前月的保养次数，同比月的保养次数， 当前年的保养次数，同比年的保养次数
     * @Create user jacky
     * @Create date 2018/2/27
     * @return
     */
    Map<String,Integer> queryBasisUpkeep();

    /**
     *  获取今年的维修，保养，安装，总数，已完成,完成比例
     * @Create user jacky
     * @Create date 2018/2/27
     * @return
     */
    Map<String,Object> repairUpkeepInstallByYear();

    /**
     * 获取当月的维修，保养，安装，总数，已完成,完成比例
     * @Create user jacky
     * @Create date 2018/2/27
     * @return
     */
    Map<String,Object> repairUpkeepInstallByMonth();

    /**
     * 获取城市下厂商合同完成率by城市
     * @Create user jacky
     * @Create date 2018/2/27
     * @return
     */
    List<Map<String,Object>>  queryCityContractCompleteRatio(Long provinceId);

    /**
     * 获取紧急维修的设备, 紧急  device_status = 1502 高危  device_status = 1501
     * @Create user jacky
     * @Create date 2018/2/27
     * @return
     */
    List<Map<String,Integer>> queryRepartCountByDeviceStatus();

    /**
     * 获取未安装完成和未保养完成的数据
     * @Create user jacky
     * @Create date 2018/2/27
     * @return
     */
    Map<String,Integer> queryNoInstallCompleteAndNoUpkeepComplete();

    /**
     * 根据设备状态获取维修信息
     * @param deviceStatus
     * @Create user jacky
     * @Create date 2018/3/3
     * @return
     */
    List<RepairStatusView> queryRepairByDeviceStatus(Long deviceStatus);
}
